When an electronic device such as a computer is powered on, or otherwise started (e.g., such as due to a reset), boot code is executed to boot the electronic device. Typically, such boot code is in the form of Basic Input/Output System (BIOS) code. The BIOS code performs a boot procedure that typically starts with running a boot block code that performs various minimal initialization tasks in the electronic device.
Following execution of the boot block code, the boot procedure performs power-on-self-test (POST) to verify the integrity of the BIOS code, to discover and initialize system components, and to perform other tasks. At the end of the boot procedure, the operating system of the electronic device is loaded for execution.
During a boot procedure, certain additional tasks, such as an error recovery task, may have to be performed. An error recovery task is performed in response to detecting a previous failure or other fault in the electronic device. However, certain electronic devices may contain chipsets that have a configuration that interferes with proper performance of the error recovery task during the boot procedure.